home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / clang / c1.zip / STRING.C < prev    next >
Text File  |  1987-06-18  |  2KB  |  122 lines

  1.  
  2. /************************************************************
  3.  *        IBM PC "C" Bulletin Board                         *
  4.  *        Tulsa, OK    918-664-8737                         *
  5.  *        Lynn Long, SYSOP   300/1200 XMODEM                *
  6.  ************************************************************/
  7.  
  8.  
  9.  
  10.  
  11. char *strcpy(dest, src)
  12. register char *dest, *src;
  13. {
  14.         char *sav;
  15.  
  16.         sav = dest;
  17.         while (*dest++ = *src++)
  18.                 ;
  19.         return sav;
  20. }
  21.  
  22. char *strncpy(dest, src, len)
  23. register char *dest, *src;
  24. {
  25.         char *sav;
  26.  
  27.         sav = dest;
  28.         while (len--) {
  29.                 if ((*dest++ = *src++) == 0) {
  30.                         while (len--)
  31.                                 *dest++ = 0;
  32.                         break;
  33.                 }
  34.         }
  35.         return sav;
  36. }
  37.  
  38. char *strcat(dest, src)
  39. register char *dest, *src;
  40. {
  41.         char *sav;
  42.  
  43.         sav = dest;
  44.         while (*dest)
  45.                 ++dest;
  46.         while (*dest++ = *src++)
  47.                 ;
  48.         return sav;
  49. }
  50.  
  51. char *strncat(dest, src, len)
  52. register char *dest, *src;
  53. {
  54.         char *sav;
  55.  
  56.         sav = dest;
  57.         while (*dest)
  58.                 ++dest;
  59.         do {
  60.                 if (len-- == 0) {
  61.                         *dest = 0;
  62.                         break;
  63.                 }
  64.         } while (*dest++ = *src++);
  65.         return sav;
  66. }
  67.  
  68. strcmp(a, b)
  69. register char *a, *b;
  70. {
  71.         int i;
  72.  
  73.         while ((i = *a - *b++) == 0 && *a++)
  74.                 ;
  75.         return i;
  76. }
  77.  
  78. strncmp(a, b, len)
  79. register char *a, *b;
  80. {
  81.         int i = 0;
  82.  
  83.         while (len-- && (i = *a - *b++) == 0 && *a++)
  84.                 ;
  85.         return i;
  86. }
  87.  
  88. strlen(str)
  89. register char *str;
  90. {
  91.         register int len = 0;
  92.  
  93.         while (*str++)
  94.                 ++len;
  95.         return len;
  96. }
  97.  
  98. char *index(str, c)
  99. register char *str; register int c;
  100. {
  101.         while (*str) {
  102.                 if (*str == c)
  103.                         return str;
  104.                 ++str;
  105.         }
  106.         return (char *)0;
  107. }
  108.  
  109. char *rindex(str, c)
  110. register char *str; int c;
  111. {
  112.         register char *cp;
  113.  
  114.         for (cp = str ; *cp++ ; )
  115.                 ;
  116.         while (cp > str)
  117.                 if (*--cp == c)
  118.                         return cp;
  119.         return (char *)0;
  120. }
  121.  
  122.